package com.appkubes.fintech.admin.application.bill.entity.dto;


import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import lombok.*;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 账单列表
 *
 * @author xqc.
 * @date 2020/01/03 19:02:40
 */

@Data
public class RentBillHeaderDTO {


    private Integer unpayInterestAmount;
    private Integer buyOutAmount;
    private Integer rentAmount;
    private Integer billFine;
    private String goodsTitle;
    private String rentType;
    private String name;
    private String realName;
    private String phone;
    @ApiModelProperty(name = "账单总金额")
    private Integer billAmount;
    private Integer billInterest;
    @ApiModelProperty(name = "账单KEY 账单表")
    private String billKey;
    @ApiModelProperty(name = "账单编号")
    private String billNo;
    @ApiModelProperty(name = "减免金额")
    private Integer breaksAmount;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "创建时间")
    private Date createTime;
    @ApiModelProperty(name = "罚息利率")
    private BigDecimal fineRate;
    private BigDecimal interestRate;
    @ApiModelProperty(name = "订单KEY")
    private String orderKey;
    @ApiModelProperty(name = "总期数")
    private Integer periods;
    @ApiModelProperty(name = "时间长度")
    private Integer periodsDays;
    @ApiModelProperty(name = "1 日  2月")
    private Integer periodsType;
    @ApiModelProperty(name = "备注")
    private String remark;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(name = "终止日期")
    private Date rentEndDate;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(name = "起租日期")
    private Date rentStartDate;
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")


    @ApiModelProperty(name = "已还金额")
    private Integer repayAmount;
    private Integer repayInterest;
    @ApiModelProperty(name = "还款多余的零头钱")
    private Integer repayChangeAmount;
    @ApiModelProperty(name = "已还罚金")
    private Integer repayFineAmount;
    @ApiModelProperty(name = "00 未启用，01还款中 02已逾期 03正常还款完毕 04已提还 05 逾期终止")
    private String status;
    @ApiModelProperty(name = "剩余金额")
    private Integer surpAmount;
    private Integer surpInterestAmount;
    @ApiModelProperty(name = "剩余罚息")
    private Integer surpFineAmount;
    @ApiModelProperty(name = "待还款金额")
    private Integer unpayAmount;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(name = "待还款日期")
    private Date unpayDate;

    private BigDecimal beforePayAmt;

    @ApiModelProperty(name = "待还罚金")
    private Integer unpayFineAmount;
    @ApiModelProperty(name = "待还期数")
    private Integer unpayPeriods;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(name = "更新时间")
    private Date updateTime;
    @ApiModelProperty(name = "用户KEY")
    private String userKey;

    private String refUserName;
    private String refChannelName;
    private String refUserPhone;
    private String approvalMsg;
    private String riskRemark;

    private List<RentBillLinesDTO> linesList;
}
